package com.qdxwx.models.enums;

import com.qdxwx.common.utils.TKString;

/**
 * @author ZhiYong
 * @updateTime 2022/1/13 22:08
 * @description 订单/明细的状态
 */
public enum OrderStatus {
    INIT,//未支付,初始化
    SUCCESS,//支付成功
    REFUND,//退款
    CANCEL,//取消cancel
    CLOSED,//关闭，后台手动关闭
    EXPIRED;//已过期，系统定时过期

    /**
     * 根据值获取对像String
     * @param value 值
     * @return default null
     */
    public static String getString(String value) {
        OrderStatus type = get(value);
        if (type == null)
            return null;
        else
            return type.toString();
    }

    //根据值获取对像
    public static OrderStatus get(String value) {
        if (TKString.isEmpty(value)) return null;
        try {
            return OrderStatus.valueOf(value.toUpperCase());
        } catch (Exception ex) {
            return null;
        }
    }

    public boolean equals(String value) {
        if (TKString.isEmpty(value)) {
            return false;
        }
        return this == get(value);
    }
}
